﻿//------------------------------------------------------------------------------
// <copyright file="RpcMessageType.cs" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------

namespace Microsoft.Internal.GamesTest.Rpc.Client
{
    using System.Runtime.Serialization;

    /// <summary>
    /// Identifies the type of message, so that the Request or Response payload can be deserialized to the
    /// appropriate type.
    /// These values must match the enumeration defined in the Rpc.NativeServer project.
    /// </summary>
    internal enum RpcMessageType
    {
        /// <summary>
        /// A default message type, used to catch uninitialized messages.
        /// </summary>
        [EnumMember(Value = "0")]
        None = 0,

        /// <summary>
        /// An incoming request.
        /// </summary>
        [EnumMember(Value = "1")]
        Request = 1,

        /// <summary>
        /// A response to an incoming request.
        /// </summary>
        [EnumMember(Value = "2")]
        Response = 2
    }
}
